package com.itlong.cloud.POJO.DTO.operate;

import com.itlong.cloud.POJO.DTO.BaseDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * <desc>
 *      商务收费信息DTO
 * </desc>
 *
 * @createDate 2019/08/06
 */
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class OperateBusinessChargeDTO extends BaseDTO implements Serializable {

    private String operateFunction;     // 操作菜单，如 云服务费/商务收费管理
    private String operateWay;     // 操作功能，如 编辑

    private Integer type;           // 查询类型，1所有 2即将过期 0已过期
    private String myUserName;              // 运营登录用户id
    private String createStartTime;    // 创建时间开始
    private String createEndTime;     // 创建时间结束
    private String endStartTime;     // 过期时间开始
    private String endEndTime;      // 过期时间结束
    private String feeNorm;        // 收费标准
    private Integer cycle;      // 收费周期，单位：年
    private String endTime;        // 结束时间
    private String remark;        // 备注

    private String ip;              // ip地址
    private Integer roleType;       // 菜单类型，1商务收费管理，2商务收费审核
    private String batchNumber;     // 批次号
    private Integer businessAuditStatus;       // 审批状态，1未提交 2未审批 3已审批
    private Integer businessInput;       // 商务录入，0未录入
    private String orderColumn;       // 排序字段
    private String orderRule;       // 正序ASC 倒序DESC

    private String orderId;    // 账单id
    private String uploadInfoPrivateName;    // 私密附件名称，多个按英文逗号相连，保持顺序，客户不可见
    private String uploadInfoPrivateUrl;    // 私密附件url，多个按英文逗号相连，保持顺序，客户不可见
    private String uploadInfoPublicName;    // 公共附件名称，多个按英文逗号相连，保持顺序，客户可见
    private String uploadInfoPublicUrl;    // 公共附件url，多个按英文逗号相连，保持顺序，客户可见
    private String paidAmount;    // 应收金额
    private String nextAmount;      //下期收费金额
    private String chargeDetail;    // 收费明细列表，json字符串
    private String assignmentDetail;    // 任务书详情列表，json字符串
    private String deviceDetail;        //设备详情列表
    private String referenceAmount;     //  参考收费金额

    private String orderIds;    // 账单id，多个英文逗号相连
    private Integer nowAuditStatus;    // 当前审核状态1未提交 2未审批 3已审批
    private Integer auditStatus;    // 当前操作 0拒绝 1通过 2撤回
    private String reason;    // 审核原因
    private String batchNumbers;        // 批次号，多个英文逗号相连

    private String feeStatus;      // 支付状态，1未支付 2已支付 3待确认
    private String endStatus;       //过期状态 1未过期 2已过期
    private String assignmentNumber;        // 批次号
    private String businessRemark;          //商务备注

    private Integer operateType;            // 操作类型，1复用 2详情或打印预览

    private String delayEndTime;        //延期结束时间
    private String delayRemark;         //延期备注
    private String cloudServiceAssignment;  //云服务费任务书号
    private String confirmRemark;         //收款确认备注
    private String logType;         //1为产品型号管理  2任务书产品类型管理
    private String outerId;         //数据id

    private String deviceType;      //设备类型多个逗号隔开

}
